package com.wenlong.dao;

import com.wenlong.pojo.Commodity;

import java.util.List;

/**
 * @author 苏文龙
 * @version 1.0
 */
public interface CommodityDao {

    /**
     *
     * @param commodity 新增商品信息
     * @return 影响行数
     */
    int addCommodity(Commodity commodity);

    /**
     *
     * @param commodity 要修改的商品信息
     * @return 返回影响行数
     */
    int updateCommodity(Commodity commodity);

    /**
     * @param id 要删除的商品id
     * @return 返回影响行数
     */
    int deleteCommodity(int id);

    /**
     *
     * @param id 要查询商品的id
     * @return 返回查到的 结果
     */
    Commodity queryCommodityById(Integer id);

    /**
     * 查询全部商品信息
     * @return 放回全部商品信息
     */
    List<Commodity> queryAllCommodity();

    /**
     * 查询总记录数
     * @return 总记录数
     */
    int queryForPageTotalCount();

    /**
     * 返回分页数据
     * @param begin 当前页码
     * @param pageSize 当前页总长度
     * @return 分页后数据
     */
    List<Commodity> queryForPageCommodity(int begin, int pageSize);

    /**
     * 根据价格区间查询总的记录数
     * @param min 最小价格
     * @param max 最大价格
     * @return 价格区间记录数
     */
    int queryForPageTotalCountByPrice(int min, int max);

    /**
     * 根据价格区间返回分页数据
     * @param begin 当前页码
     * @param pageSize 分页长度
     * @param min 最小价格
     * @param max 最大价格
     * @return 价格区间 记录数
     */
    List<Commodity> queryForPageCommodityByPrice(int begin, int pageSize, int min, int max);
}
